技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
26
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
26
篇
DAY26-物件導向設計
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-12 22:07:09
10286 瀏覽
分享至
學習目標
何謂「物件導向程式設計」?
為何使用「物件導向程式設計」?
用不用「物件導向」差在哪裡?
物件導向程式的寫法
物件導向專有名詞
物件導向三大特色
何謂「物件導向設計」
把資料與操作該資料的函數綁在一起的語法
為何使用「物件導向」?
方便程式碼重用
用不用「物件導向」差在哪裡?
不使用物件導向描述一件事
使用物件導向描述一件事
用「物件導向」優點
便於程式碼「重用」
把程式細節隱藏在物件內,
讓主程式變短,
簡化主程式邏輯
用「物件導向」缺點
「基礎建設」較繁雜龐大,
寫個簡單程式需要比傳統寫法,還要更多行
物件導向程式的寫法
先定義好參與這件事的物品有哪些(這些物品叫做 “物件”)
再定義這些物品所需的數量及行為(這些數量及行為叫做 “屬性”與“方法”)
接下來就可用物品間的互動行為 來描述整件事情是如何發生的(這部份的描述稱為“主程式”)
物件導向專有名詞
屬性(Properties)vs. 方法(Methods)
類別 (Class):物件的設計藍圖
物件 (Object):根據類別所建造出來的實體 (Instance)
利用「類別」產生出「物件」,我們稱此動作為「實體化(Instantiation)」
物件導向三大特色
封裝 (Encapsulation)
將資料 (屬性) 與操作此資料的函數 (方法) 包在一起的特性
繼承 (Inheritance)
承接另一個物件所有屬性與方法,並可以加以改造的特性
多型 (Polymorphism)
修改繼承下來的函數,使之名稱相同,但行為卻不同的特性(覆寫Overwriting)
在一個類別內定義多個同名函數,隨著傳入值或呼叫方法不同而有不同行為(多載Overloading)
重點整理
為何使用「物件導向程式設計」
方便程式碼「重用」
屬性 vs. 方法
屬性:物件內的「資料」
方法:物件內的「函數」
類別 vs. 物件
類別:物件的「設計藍圖」
物件:由類別建造出來的一個「實體」
物件導向三大特性
封裝(Encapsulation):讓你把「資料」與「函數」打成一包
繼承(Inheritance):讓你輕易拷貝另一個類別所有屬性與方法
多型(Polymorphism):覆寫(Overwriting)+ 多載(Overloading)
留言
追蹤
檢舉
上一篇
Day25-複合資料結構:字典
下一篇
Day27-物件導向設計 :封裝部分
系列文
從不懂,到玩上手的Python語言
共
30
篇
目錄
RSS系列文
訂閱系列文
9
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
414
組
團體組數
14
組
累計文章數
3052
篇
最後報名日
9/15
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
17th鐵人賽
windows
php
c#
windows server
linux
css
react
熱門問題
不知道網路紅隊的要去那加公司
備份映像檔
Outlook 寄件備份消失問題 (已解決)
aws ec2 檢查故障問題
請問有人遇過在lightsail上部屬fastapi失敗的案例?
IIS 管理員 連線功能不見
Jaspersoft 的資料庫連結 出現錯誤:驅動程式無法使用安全通訊端層 (SSL) 加密建立與 SQL Server 的安全連接。
port-forwading到遠程網段
熱門回答
不知道網路紅隊的要去那加公司
備份映像檔
請問有人遇過在lightsail上部屬fastapi失敗的案例?
aws ec2 檢查故障問題
熱門文章
什麼是 Signal ?
第10天,No-Code 快速上線又省錢 / 原汁排骨湯 台北最好喝的排骨湯(台北萬華)| 30天滷肉飯
序: AI 加速編碼後,你該學什麼?
Signal 的核心概念
第11天,LibreOffice 更省錢 / 司機俱樂部 宵夜好選擇(台北松山)| 30天滷肉飯
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}